package cn.boltzjf.sql4j.examples.postgres.db;

import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.CHAR;
import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.DATE;
import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.JSON;
import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.DECIMAL;
import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.UUID;
import static cn.boltzjf.sql4j.coltype.DefaultColumnTypes.VARCHAR;

import java.math.BigDecimal;
import java.sql.Date;
import java.util.UUID;

import cn.boltzjf.sql4j.Column;

public class StudentTable extends CustomTable {

    public StudentTable() {
        super("student");
    }

    public final Column<UUID> id = defineColumn("id", UUID, UUID.class);
    public final Column<String> name = defineColumn("name", VARCHAR, String.class);
    public final Column<String> studentNumber = defineColumn("stu_num", VARCHAR, String.class);
    public final Column<Date> birthDate = defineColumn("birth_date", DATE, Date.class);
    public final Column<String> enrollYear = defineColumn("enroll_year", CHAR, String.class);
    public final Column<String> sex = defineColumn("sex", VARCHAR, String.class);
    public final Column<String> family = defineColumn("family", JSON, String.class);
    public final Column<BigDecimal> highestScore = defineColumn("highest_score", DECIMAL, BigDecimal.class);
}
